"""
耗时操作-不用多线程
- 当点击“下载”按钮后整个程序的其他部分都被这个耗时间的任务阻塞而无法执行了

Version: 0.1
Author: yuwl
Date：2024-4-9
"""

import time
import tkinter
import tkinter.messagebox


def download():
    # 模拟下载任务需要10秒
    time.sleep(10)
    tkinter.messagebox.showinfo('提示', '下载完成')

def show_about():
    tkinter.messagebox.showinfo('关于', '作者：张三')

def main():
    top = tkinter.Tk()
    top.title('单线程')
    top.geometry('200x150')
    top.wm_attributes('-topmost', True)

    panel = tkinter.Frame(top)
    button1 = tkinter.Button(panel, text='下载', command=download)
    button1.pack(side='left')
    button2 = tkinter.Button(panel, text='关于', command=show_about)
    button2.pack(side='right')
    panel.pack(side='bottom')

    tkinter.mainloop()


if __name__ == '__main__':
    main()